1. Field of the Invention
The present invention relates to management apparatuses and methods for controlling the same. More particularly, the present invention relates to management and control of memory areas.
2. Description of the Related Art
Memory areas for work areas and data storage areas that are temporarily used by software are not allocated permanently. Memory areas are allocated when work areas and data storage areas are needed and are released when they are no longer needed. However, there may be a case where a memory area, which is no longer needed, is not released but is kept allocated because of a defect of a program. In this case, the memory area is not used by any processes but is kept allocated until termination of a system. A phenomenon that an unnecessary memory area is not released but is kept allocated is referred to as a “memory release leak”.
Since the memory release leak equates to wasting of memory resource of a system, the memory release leak has a significant influence on execution of the system. An amount of available memory decreases in response to an increase in an amount of memory forgotten to be released (hereinafter, referred to as a “release-forgotten memory”). As a result, execution performance of the software may decrease or an operation of the software may become unstable. Furthermore, if an amount of available memory is less than an amount of memory required for execution of the software, execution of the software stops since the software cannot allocate work areas and data storage areas.
However, the memory release leak is not very problematic if a ratio of release-forgotten memory areas is low, because a sufficient free space can be acquired on a memory. In addition, occurrence of the memory release leak does not result in a critical problem in a system having a short continuous operating time since the operation of the system terminates before the release-forgotten memory exerts a serious influence even if the memory release leak occurs. On the contrary, the memory release leak becomes a critical problem in a system having a long continuous operating time. This is because release-forgotten memory areas accumulate and the amount of available memory reduces as the operating time becomes longer.
Software is generally released into the market as a product after bugs are fixed in a pre-release test process. However, complete removal of bugs of the memory release leak in the pre-release test process is difficult depending on a type of the software. Such a type of software includes software employing many parameters set by users. It may be nearly impossible to carry out tests for every combination of possible parameter values in such software before the software is released into the market.
For example, software embedded in a semiconductor manufacturing apparatus (hereinafter, referred to as a semiconductor exposure apparatus) is one kind of such software that have a continuous operating time exceeding several months and employs many kinds of operation-determining parameters, which are set by users.
Semiconductor manufacturing is composed of many processes and a continuously operating time reaches several months. With an increase in a degree in integration, a driving mechanism and electronic controlling components of the semiconductor exposure apparatus have become more complicated and more accurate. Accordingly, functions of software embedded in the semiconductor exposure apparatus become complicated and the scale of the software also becomes larger. Users determine parameters of the software based on a semiconductor manufacturing procedure unique to the users. Accordingly, if a memory release leak occurs in the software of the semiconductor exposure apparatus, an amount of the release-forgotten memory areas is likely to increase. That is, a failure that execution of software stops because the software cannot allocate work areas and data storage areas is highly likely to occur.
When the software execution performance decreases or an operation of the software becomes unstable due to the memory release leak, all memory areas can be released by terminating and restarting the software. In this way, the problem can be solved. However, since the semiconductor manufacturing processes are interrelated, termination and restart of a certain process is difficult.
If a further increase in an amount of release-forgotten memory areas results in termination of the software, the users undergo a significant damage. For example, the users have to discard wafers currently being manufactured because a state of the semiconductor exposure apparatus and an environment thereof change and the manufacture cannot be continued in the same state and environment even if the software is restarted. Furthermore, since check and adjustment of actions of each driving component are required in the semiconductor exposure apparatus after the restart, the manufacture of semiconductors cannot be restarted until this adjustment work has been completed regarding all of the processes. That is, if software stops due to a memory release leak, the users suffer an economic loss for discarding half-finished products (products currently being manufactured) and a time loss for waiting for completion of adjustment of the semiconductor exposure apparatuses.
As described above, since it is extremely difficult to carry out a test regarding all of combinations of possible parameter values in such software before the software is released into the market, it may be impossible to prevent the memory release leak from occurring. Accordingly, a measure for avoiding an influence of the memory release leak has to be taken until software stops by providing a unit for detecting a memory release leak and by detecting the memory release leak using this unit. For example, programming languages, such as Java® and C#, have a garbage collection function for allowing an operating system to take care of releasing of memory areas. Additionally, regarding programming languages, such as C, not having the garbage collection function, a method for preventing the memory release leak based on memory area information is known. Regarding this technique, Japanese Patent Laid-Open No. 2000-293400 discloses a technique for storing/deleting memory area information in response to software's allocation/release of memory areas and determining whether the allocated memory area information still remains after termination of the software to detect a memory release leak. In addition, Japanese Patent Laid-Open No. 2002-108698 discloses a technique for managing a maximum existing time of memory areas allocated by software and identifying a memory area that is not released after this time period has passed as a release-forgotten memory area.
Semiconductor exposure apparatuses store parameter values and a procedure to be supplied to software in a configuration file called a recipe. This recipe is created by an operator in advance. At the time of an operation of the apparatuses, this recipe and wafers are supplied to the semiconductor exposure apparatuses and processing is executed. This processing is called a job. After the processing described in the recipe is completed regarding a specified number of wafers, the job terminates. To carry out the processing described in this recipe, a plurality of kinds of software operate in cooperation with each other in the semiconductor exposure apparatuses.
Based on this point, the technique disclosed in Japanese Patent Laid-Open No. 2000-293400 is unable to accurately detect a memory release leak when memory areas are shared by a plurality of kinds of software. Accordingly, a system, such as, for example, a semiconductor exposure apparatus, is still unable to solve the problem. Furthermore, in the technique disclosed in Japanese Patent Laid-Open No. 2000-293400, a memory release leak is simply presented to an operator upon detection of the memory release leak and a measure for avoiding an influence of the memory release leak is not discussed.
On the other hand, since release-forgotten memory areas are detected by managing the maximum existing time of memory areas allocated by software in the technique disclosed in Japanese Patent Laid-Open No. 2002-108698, a memory release leak can be detected when a plurality of kinds of software shares the memory areas. Moreover, since the release-forgotten memory areas are automatically released, a measure for avoiding an influence of the memory release leak is also provided. However, because estimation of the maximum existing time is difficult in semiconductor exposure apparatuses having a long continuous operating time, application of the technique disclosed in Japanese Patent Laid-Open No. 2002-108698 to the semiconductor exposure apparatuses is difficult.
Additionally, Japanese Patent Laid-Open No. 11-176717 discloses a production management method for reducing the number of partly-finished products (products currently being manufactured). The use of this production management method can reduce the number of partly-finished products, which have to be discarded when a trouble occurs, and thus can reduce an economic loss. However, this method cannot avoid a time loss for waiting for completion of adjustment of semiconductor exposure apparatuses.